安装mysql5.7.17
在CentOS 7里下载

wget http://repo.mysql.com/mysql57...

下载后再安装源

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

安装好后开始用YUM安装 MYSQL 5.7.17

yum install -y mysql-server

修改默认密码
修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
重启 mysqld 服务:systemctl restart mysqld

使用 root 用户登录到 mysql:mysql -u root

更新密码
use mysql;
update user set authentication_string = password('123'), password_expired = 'N', password_last_changed = now() where user = 'root';

开启root远程操作
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;

FLUSH PRIVILEGES;
退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容

修改密码策略
通过my.cnf 配置文件设置密码策略的级别
vi /etc/my.cnf 加入以下代码并重启mysql,systemctl restart mysqld
validate_password = off

查看防火墙状态
firewall-cmd --state
关闭防火墙或者开启3306端口

关闭防火墙:systemctl stop firewalld.service
开启3306端口:
firewall-cmd --permanent --zone=public --add-port=3306/tcp

master:
grant replication slave on . to 'mysqlsync'@'%' identified by '123';

查看file字段,并在slave上配置
show master status;

确定配置文件里是否有这些参数,如果没有,手动补充:
log-bin=bin #slave会基于此log-bin来做replication
server-id=1 #master的标示
innodb_flush_log_at_trx_commit=1
sync_binlog=1

slave:
在配置文件里加上服务器id
vi /etc/my.cnf
server-id=2
进入mysql,运行一下命令
change master to master_host='192.168.1.201',master_user='mysqlsync',master_password='123',master_port=3306,master_log_file='bin.000003',master_log_pos=154;

测试
在master上创建数据库
create database test
同步成功

如果碰到错误1236,用以下方法解决:
http://www.linuxidc.com/Linux...

切换日志的命令:
CHANGE MASTER TO MASTER_LOG_FILE='bin.000004',MASTER_LOG_POS=298;

启动slave,命令用start slave;重新启动用restart slave
查看状态 show master status;


Echo
7 声望1 粉丝